home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
gnu
/
emacs.lha
/
emacs-19.16
/
configure
< prev
next >
Wrap
Text File
|
1993-07-06
|
62KB
|
2,308 lines
#!/bin/sh
#### Configuration script for GNU Emacs
#### Copyright (C) 1992 Free Software Foundation, Inc.
### Don't edit this script!
### This script was automatically generated by the `autoconf' program
### from the file `./configure.in'.
### To rebuild it, execute the command
### autoconf
### in the this directory. You must have autoconf version 1.4 or later.
### This file is part of GNU Emacs.
### GNU Emacs is free software; you can redistribute it and/or modify
### it under the terms of the GNU General Public License as published by
### the Free Software Foundation; either version 1, or (at your option)
### any later version.
### GNU Emacs is distributed in the hope that it will be useful,
### but WITHOUT ANY WARRANTY; without even the implied warranty of
### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
### GNU General Public License for more details.
### You should have received a copy of the GNU General Public License
### along with GNU Emacs; see the file COPYING. If not, write to
### the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
### Since Emacs has configuration requirements that autoconf can't
### meet, this file is an unholy marriage of custom-baked
### configuration code and autoconf macros.
###
### We use the m4 quoting characters [ ] (as established by the
### autoconf system) to include large sections of raw sewage - Oops, I
### mean, shell code - in the final configuration script.
###
### Usage: configure config_name
###
### If configure succeeds, it leaves its status in config.status.
### If configure fails after disturbing the status quo,
### config.status is removed.
### Remove any more than one leading "." element from the path name.
### If we don't remove them, then another "./" will be prepended to
### the file name each time we use config.status, and the program name
### will get larger and larger. This wouldn't be a problem, except
### that since progname gets recorded in all the Makefiles this script
### produces, move-if-change thinks they're different when they're
### not.
###
### It would be nice if we could put the ./ in a \( \) group and then
### apply the * operator to that, so we remove as many leading ./././'s
### as are present, but some seds (like Ultrix's sed) don't allow you to
### apply * to a \( \) group. Bleah.
progname="`echo $0 | sed 's:^\./\./:\./:'`"
#### Usage messages.
short_usage="Usage: ${progname} CONFIGURATION [-OPTION[=VALUE] ...]
Set compilation and installation parameters for GNU Emacs, and report.
CONFIGURATION specifies the machine and operating system to build for.
--with-x Support the X Window System.
--with-x=no Don't support X.
--x-includes=DIR Search for X header files in DIR.
--x-libraries=DIR Search for X libraries in DIR.
--with-gcc Use GCC to compile Emacs.
--with-gcc=no Don't use GCC to compile Emacs.
--run-in-place Use libraries and data files directly out of the
source tree.
--srcdir=DIR Look for source in DIR.
--prefix=DIR Install files below dir.
If successful, ${progname} leaves its status in config.status. If
unsuccessful after disturbing the status quo, it removes config.status."
#### Option processing.
### Record all the arguments, so we can save them in config.status.
arguments="$@"
### These values are used to comment and uncomment different values
### for the path variables in the Makefile, to choose the installed
### configuration or the run-in-place configuration.
rip_paths='#disabled# '
inst_paths=''
### Establish some default values.
prefix='/usr/local'
exec_prefix='${prefix}'
### Don't use shift -- that destroys the argument list, which autoconf needs
### to produce config.status. It turns out that "set - ${arguments}" doesn't
### work portably.
index=0
while [ $index -lt $# ]; do
index=`expr $index + 1`
arg=`eval echo '$'$index`
case "${arg}" in
## Anything starting with a hyphen we assume is an option.
-* )
## Separate the switch name from the value it's being given.
case "${arg}" in
-*=*)
opt=`echo ${arg} | sed 's:^-*\([^=]*\)=.*$:\1:'`
val=`echo ${arg} | sed 's:^-*[^=]*=\(.*\)$:\1:'`
valomitted=no
;;
-*)
## If FOO is a boolean argument, --FOO is equivalent to
## --FOO=yes. Otherwise, the value comes from the next
## argument - see below.
opt=`echo ${arg} | sed 's:^-*\(.*\)$:\1:'`
val="yes"
valomitted=yes
;;
esac
## Change `-' in the option name to `_'.
optname="${opt}"
opt="`echo ${opt} | tr - _`"
## Process the option.
case "${opt}" in
## Has the user specified which window systems they want to support?
"with_x" | "with_x11" | "with_x10" )
## Make sure the value given was either "yes" or "no".
case "${val}" in
y | ye | yes ) val=yes ;;
n | no ) val=no ;;
* )
(echo "${progname}: the \`--${optname}' option is supposed to have a boolean value.
Set it to either \`yes' or \`no'."
echo "${short_usage}") >&2
exit 1
;;
esac
eval "${opt}=\"${val}\""
;;
## Has the user specified whether or not they want GCC?
"with_gcc" | "with_gnu_cc" )
## Make sure the value given was either "yes" or "no".
case "${val}" in
y | ye | yes ) val=yes ;;
n | no ) val=no ;;
* )
(echo "${progname}: the \`--${optname}' option is supposed to have a boolean value.
Set it to either \`yes' or \`no'."
echo "${short_usage}") >&2
exit 1
;;
esac
eval "${opt}=\"${val}\""
;;
## Has the user specified a source directory?
"srcdir" )
## If the value was omitted, get it from the next argument.
if [ "${valomitted}" = "yes" ]; then
## Get the next argument from the argument list, if there is one.
if [ $index = $# ]; then
(echo "${progname}: You must give a value for the \`--${optname}' option, as in
\`--${optname}=FOO'."
echo "${short_usage}") >&2
exit 1
fi
index=`expr $index + 1`
val=`eval echo '$'$index`
fi
srcdir="${val}"
;;
## Has the user tried to tell us where the X files are?
## I think these are dopey, but no less than three alpha
## testers, at large sites, have said they have their X files
## installed in odd places.
"x_includes" )
## If the value was omitted, get it from the next argument.
if [ "${valomitted}" = "yes" ]; then
## Get the next argument from the argument list, if there is one.
if [ $index = $# ]; then
(echo "${progname}: You must give a value for the \`--${optname}' option, as in
\`--${optname}=FOO'."
echo "${short_usage}") >&2
exit 1
fi
index=`expr $index + 1`
val=`eval echo '$'$index`
fi
x_includes="${val}"
C_SWITCH_X_SITE="-I\"${x_includes}\""
;;
"x_libraries" )
## If the value was omitted, get it from the next argument.
if [ "${valomitted}" = "yes" ]; then
## Get the next argument from the argument list, if there is one.
if [ $index = $# ]; then
(echo "${progname}: You must give a value for the \`--${optname}' option, as in
\`--${optname}=FOO'."
echo "${short_usage}") >&2
exit 1
fi
index=`expr $index + 1`
val=`eval echo '$'$index`
fi
x_libraries="${val}"
LD_SWITCH_X_SITE="-L\"${x_libraries}\""
;;
## Should this use the "development configuration"?
"run_in_place" )
rip_paths=''
inst_paths='#disabled# '
;;
## Has the user specified an installation prefix?
"prefix" )
## If the value was omitted, get it from the next argument.
if [ "${valomitted}" = "yes" ]; then
## Get the next argument from the argument list, if there is one.
if [ $index = $# ]; then
(echo "${progname}: You must give a value for the \`--${optname}' option, as in
\`--${optname}=FOO'."
echo "${short_usage}") >&2
exit 1
fi
index=`expr $index + 1`
val=`eval echo '$'$index`
fi
prefix="${val}"
;;
## Has the user specified an installation prefix?
"exec_prefix" )
## If the value was omitted, get it from the next argument.
if [ "${valomitted}" = "yes" ]; then
## Get the next argument from the argument list, if there is one.
if [ $index = $# ]; then
(echo "${progname}: You must give a value for the \`--${optname}' option, as in
\`--${optname}=FOO'."
echo "${short_usage}") >&2
exit 1
fi
index=`expr $index + 1`
val=`eval echo '$'$index`
fi
exec_prefix="${val}"
;;
## Verbose flag, tested by autoconf macros.
"verbose" )
verbose=yes
;;
## Has the user asked for some help?
"usage" | "help" )
echo "${short_usage}" | more
exit
;;
## We ignore all other options silently.
esac
;;
## Anything not starting with a hyphen we assume is a
## configuration name.
*)
configuration=${arg}
;;
esac
done
if [ "${configuration}" = "" ]; then
echo '- You did not tell me what kind of host system you want to configure.
- I will attempt to guess the kind of system this is.' 1>&2
guesssys=`echo ${progname} | sed 's/configure$/config.guess/'`
if configuration=`${guesssys}` ; then
echo "- Looks like this is a ${configuration}" 1>&2
else
echo '- Failed to guess the system type. You need to tell me.' 1>&2
echo "${short_usage}" >&2
exit 1
fi
fi
#### Decide where the source is.
case "${srcdir}" in
## If it's not specified, see if `.' or `..' might work.
"" )
confdir=`echo $0 | sed 's|//|/|' | sed 's|/[^/]*$||'`
if [ -f $confdir/src/lisp.h -a -f $confdir/lisp/version.el ]; then
srcdir="${confdir}"
else
if [ -f "./src/lisp.h" -a -f "./lisp/version.el" ]; then
srcdir='.'
else
if [ -f "../src/lisp.h" -a -f "../lisp/version.el" ]; then
srcdir='..'
else
(echo "\
${progname}: Neither the current directory nor its parent seem to
contain the Emacs sources. If you do not want to build Emacs in its
source tree, you should run \`${progname}' in the directory in which
you wish to build Emacs, using its \`--srcdir' option to say where the
sources may be found."
echo "${short_usage}") >&2
exit 1
fi
fi
fi
;;
## Otherwise, check if the directory they specified is okay.
* )
if [ ! -d "${srcdir}" -o ! -f "${srcdir}/src/lisp.h" -o ! -f "${srcdir}/lisp/version.el" ]; then
(echo "\
${progname}: The directory specified with the \`--srcdir' option,
\`${srcdir}', doesn't seem to contain the Emacs sources. You should
either run the \`${progname}' script at the top of the Emacs source
tree, or use the \`--srcdir' option to specify where the Emacs sources
are."
echo "${short_usage}") >&2
exit 1
fi
;;
esac
#### Make srcdir absolute, if it isn't already. It's important to
#### avoid running the path through pwd unnecessary, since pwd can
#### give you automounter prefixes, which can go away.
case "${srcdir}" in
/* ) ;;
. )
## We may be able to use the $PWD environment variable to make this
## absolute. But sometimes PWD is inaccurate.
if [ "${PWD}" != "" ] && [ "`(cd ${PWD} ; pwd)`" = "`pwd`" ] ; then
srcdir="$PWD"
else
srcdir="`(cd ${srcdir}; pwd)`"
fi
;;
* ) srcdir="`(cd ${srcdir}; pwd)`" ;;
esac
#### Make sure that the source directory doesn't already have a
#### configured system in it.
if [ `pwd` != `(cd ${srcdir} && pwd)` ] \
&& [ -f "${srcdir}/src/config.h" ] ; then
(echo "${progname}: the directory tree \`${srcdir}' is being used"
echo " as a build directory right now; it has been configured in its own"
echo " right. You can't use srcdir in this situation.") >&2
exit 1
fi
### Make the necessary directories, if they don't exist.
for dir in ./src ./lib-src ./cpp ./oldXMenu ./etc ; do
if [ ! -d ${dir} ]; then
mkdir ${dir}
fi
done
#### Given the configuration name, set machfile and opsysfile to the
#### names of the m/*.h and s/*.h files we should use.
### Canonicalize the configuration name.
echo "Checking the configuration name."
if configuration=`${srcdir}/config.sub "${configuration}"` ; then : ; else
exit $?
fi
### If you add support for a new configuration, add code to this
### switch statement to recognize your configuration name and select
### the appropriate operating system and machine description files.
### You would hope that you could choose an m/*.h file pretty much
### based on the machine portion of the configuration name, and an s-
### file based on the operating system portion. However, it turns out
### that each m/*.h file is pretty manufacturer-specific - for
### example, apollo.h, hp9000s300.h, mega68k, news.h, and tad68k are
### all 68000 machines; mips.h, pmax.h, and news-risc are all MIPS
### machines. So we basically have to have a special case for each
### configuration name.
###
### As far as handling version numbers on operating systems is
### concerned, make sure things will fail in a fixable way. If
### /etc/MACHINES doesn't say anything about version numbers, be
### prepared to handle anything reasonably. If version numbers
### matter, be sure /etc/MACHINES says something about it.
###
### Eric Raymond says we should accept strings like "sysvr4" to mean
### "System V Release 4"; he writes, "The old convention encouraged
### confusion between `system' and `release' levels'."
machine='' opsys='' unported='false'
case "${configuration}" in
## Alliant machines
## Strictly speaking, we need the version of the alliant operating
## system to choose the right machine file, but currently the
## configuration name doesn't tell us enough to choose the right
## one; we need to give alliants their own operating system name to
## do this right. When someone cares, they can help us.
fx80-alliant-* )
machine=alliant4 opsys=bsd4-2
;;
i860-alliant-* )
machine=alliant-2800 opsys=bsd4-3
;;
## Altos 3068
m68*-altos-sysv* )
machine=altos opsys=usg5-2
;;
## Amdahl UTS
580-amdahl-sysv* )
machine=amdahl opsys=usg5-2-2
;;
## Appallings - I mean, Apollos - running Domain
m68*-apollo* )
machine=apollo opsys=bsd4-2
;;
## AT&T 3b2, 3b5, 3b15, 3b20
we32k-att-sysv* )
machine=att3b opsys=usg5-2-2
;;
## AT&T 3b1 - The Mighty Unix PC!
m68*-att-sysv* )
machine=7300 opsys=usg5-2-2
;;
## Bull sps7
m68*-bull-sysv* )
machine=sps7 opsys=usg5-2
;;
## CCI 5/32, 6/32 -- see "Tahoe".
## Celerity
## I don't know what configuration name to use for this; config.sub
## doesn't seem to know anything about it. Hey, Celerity users, get
## in touch with us!
celerity-celerity-bsd* )
machine=celerity opsys=bsd4-2
;;
## Clipper
## What operating systems does this chip run that Emacs has been
## tested on?
clipper-* )
machine=clipper
## We'll use the catch-all code at the bottom to guess the
## operating system.
;;
## Convex
*-convex-bsd* )
machine=convex opsys=bsd4-3
;;
## Cubix QBx/386
i386-cubix-sysv* )
machine=intel386 opsys=usg5-3
;;
## Cydra 5
cydra*-cydrome-sysv* )
machine=cydra5 opsys=usg5-3
;;
## Data General AViiON Machines
m88k-dg-dgux* )
machine=aviion opsys=dgux
;;
## DECstations
mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0 | mips-dec-bsd4.2 )
machine=pmax opsys=bsd4-2
;;
mips-dec-ultrix* | mips-dec-bsd* )
machine=pmax opsys=bsd4-3
;;
mips-dec-osf* )
machine=pmax opsys=osf1
;;
## Motorola Delta machines
m68*-motorola-sysv* )
machine=delta opsys=usg5-3
;;
m88k-motorola-sysv4* )
machine=delta88k opsys=usg5-4
;;
m88k-motorola-sysv* | m88k-motorola-m88kbcs* )
machine=delta88k opsys=usg5-3
;;
## Dual machines
m68*-dual-sysv* )
machine=dual opsys=usg5-2
;;
m68*-dual-uniplus* )
machine=dual opsys=unipl5-2
;;
## Elxsi 6400
elxsi-elxsi-sysv* )
machine=elxsi opsys=usg5-2
;;
## Encore machines
ns16k-encore-bsd* )
machine=ns16000 opsys=umax
;;
## The GEC 93 - apparently, this port isn't really finished yet.
## Gould Power Node and NP1
pn-gould-bsd4.2 )
machine=gould opsys=bsd4-2
;;
pn-gould-bsd4.3 )
machine=gould opsys=bsd4-3
;;
np1-gould-bsd* )
machine=gould-np1 opsys=bsd4-3
;;
## Honeywell XPS100
xps*-honeywell-sysv* )
machine=xps100 opsys=usg5-2
;;
## HP 9000 series 200 or 300
m68*-hp-bsd* )
machine=hp9000s300 opsys=bsd4-3
;;
## HP/UX 7, 8 and 9 are supported on these machines.
m68*-hp-hpux* )
case "`uname -r`" in
*.08.* ) machine=hp9000s300 opsys=hpux8 ;;
*.09.* ) machine=hp9000s300 opsys=hpux9 ;;
*) machine=hp9000s300 opsys=hpux ;;
esac
;;
## HP 9000 series 700 and 800, running HP/UX
hppa*-hp-hpux7* )
machine=hp9000s800 opsys=hpux
;;
hppa*-hp-hpux8* )
machine=hp9000s800 opsys=hpux8
;;
hppa*-hp-hpux9* )
machine=hp9000s800 opsys=hpux9
;;
## HP 9000 series 700 and 800, running HP/UX
hppa*-hp-hpux* )
## Cross-compilation? Nah!
case "`uname -r`" in
*.08.* ) machine=hp9000s800 opsys=hpux8 ;;
*.09.* ) machine=hp9000s800 opsys=hpux9 ;;
*) machine=hp9000s800 opsys=hpux ;;
esac
;;
## Orion machines
orion-orion-bsd* )
machine=orion opsys=bsd4-2
;;
clipper-orion-bsd* )
machine=orion105 opsys=bsd4-2
;;
## IBM machines
i386-ibm-aix1.1 )
machine=ibmps2-aix opsys=usg5-2-2
;;
i386-ibm-aix1.[23] | i386-ibm-aix* )
machine=ibmps2-aix opsys=usg5-3
;;
rs6000-ibm-aix3.1 )
machine=ibmrs6000 opsys=aix3-1
;;
rs6000-ibm-aix3.2 | rs6000-ibm-aix* )
machine=ibmrs6000 opsys=aix3-2
;;
romp-ibm-bsd4-3 )
machine=ibmrt opsys=bsd4-3
;;
romp-ibm-bsd4-2 )
machine=ibmrt opsys=bsd4-2
;;
romp-ibm-aos4-3 )
machine=ibmrt opsys=bsd4-3
;;
romp-ibm-aos4-2 )
machine=ibmrt opsys=bsd4-2
;;
romp-ibm-aos* )
machine=ibmrt opsys=bsd4-3
;;
romp-ibm-bsd* )
machine=ibmrt opsys=bsd4-3
;;
romp-ibm-aix* )
machine=ibmrt-aix opsys=usg5-2-2
;;
## Integrated Solutions `Optimum V'
m68*-isi-bsd4.2 )
machine=isi-ov opsys=bsd4-2
;;
m68*-isi-bsd4.3 )
machine=isi-ov opsys=bsd4-3
;;
## Intel 386 machines where we do care about the manufacturer
i[34]86-intsys-sysv* )
machine=is386 opsys=usg5-2-2
;;
## Prime EXL
i386-prime-sysv* )
machine=i386 opsys=usg5-3
;;
## Sequent Symmetry
i386-sequent-bsd* )
machine=symmetry opsys=bsd4-3
;;
## Intel 860
i860-*-sysvr4 )
machine=i860 opsys=usg5-4
;;
## Silicon Graphics machines
## Iris 2500 and Iris 2500 Turbo (aka the Iris 3030)
m68*-sgi-iris3.5 )
machine=irist opsys=iris3-5
;;
m68*-sgi-iris3.6 | m68*-sgi-iris*)
machine=irist opsys=iris3-6
;;
## Iris 4D
mips-sgi-irix3.* )
machine=iris4d opsys=irix3-3
;;
mips-sgi-irix4.* | mips-sgi-irix* )
machine=iris4d opsys=irix4-0
;;
## Masscomp machines
m68*-masscomp-rtu )
machine=masscomp opsys=rtu
;;
## Megatest machines
m68*-megatest-bsd* )
machine=mega68 opsys=bsd4-2
;;
## Workstations sold by MIPS
## This is not necessarily all workstations using the MIPS processor -
## Irises are produced by SGI, and DECstations by DEC.
## etc/MACHINES lists mips.h and mips4.h as possible machine files,
## and usg5-2-2 and bsd4-3 as possible OS files. The only guidance
## it gives for choosing between the alternatives seems to be "Use
## -machine=mips4 for RISCOS version 4; use -opsystem=bsd4-3 with
## the BSD world." I'll assume that these are instructions for
## handling two odd situations, and that every other situation
## should use mips.h and usg5-2-2, they being listed first.
mips-mips-usg* )
machine=mips4
## Fall through to the general code at the bottom to decide on the OS.
;;
mips-mips-riscos4* )
machine=mips4 opsys=bsd4-3
;;
mips-mips-bsd* )
machine=mips opsys=bsd4-3
;;
mips-mips-* )
machine=mips opsys=usg5-2-2
;;
## NeXT
m68*-next-mach* | m68*-next-bsd* )
machine=next opsys=mach2
;;
## The complete machine from National Semiconductor
ns32k-ns-genix* )
machine=ns32000 opsys=usg5-2
;;
## NCR machines
m68*-ncr-sysv2* | m68*-ncr-sysvr2* )
machine=tower32 opsys=usg5-2-2
;;
m68*-ncr-sysv3* | m68*-ncr-sysvr3* )
machine=tower32v3 opsys=usg5-3
;;
## Nixdorf Targon 31
m68*-nixdorf-sysv* )
machine=targon31 opsys=usg5-2-2
;;
## Nu (TI or LMI)
m68*-nu-sysv* )
machine=nu opsys=usg5-2
;;
## Plexus
m68*-plexus-sysv* )
machine=plexus opsys=usg5-2
;;
## Pyramid machines
## I don't really have any idea what sort of processor the Pyramid has,
## so I'm assuming it is its own architecture.
pyramid-pyramid-bsd* )
machine=pyramid opsys=bsd4-2
;;
## Sequent Balance
ns32k-sequent-bsd4.2 )
machine=sequent opsys=bsd4-2
;;
ns32k-sequent-bsd4.3 )
machine=sequent opsys=bsd4-3
;;
## SONY machines
m68*-sony-bsd4.2 )
machine=news opsys=bsd4-2
;;
m68*-sony-bsd4.3 )
machine=news opsys=bsd4-3
;;
mips-sony-bsd* )
machine=news-risc opsys=bsd4-3
;;
## Stride
m68*-stride-sysv* )
machine=stride opsys=usg5-2
;;
## Suns
*-sun-sunos* | *-sun-bsd* | *-sun-solaris* )
case "${configuration}" in
m68*-sunos1* ) machine=sun1 ;;
m68*-sunos2* ) machine=sun2 ;;
m68* ) machine=sun3 ;;
i[34]86* ) machine=sun386 ;;
sparc* ) machine=sparc ;;
* ) unported=true ;;
esac
case "${configuration}" in
*-sunos4.0* ) opsys=sunos4-0 ;;
*-sunos4.1.3* ) opsys=sunos4-1-3 ;;
*-sunos4* | *-sunos ) opsys=sunos4-1 ;;
*-sunos5* | *-solaris* ) opsys=sol2 ;;
* ) opsys=bsd4-2 ;;
esac
;;
## Tadpole 68k
m68*-tadpole-sysv* )
machine=tad68k opsys=usg5-3
;;
## Tahoe machines
tahoe-tahoe-bsd4.2 )
machine=tahoe opsys=bsd4-2
;;
tahoe-tahoe-bsd4.3 )
machine=tahoe opsys=bsd4-3
;;
## Tandem Integrity S2
mips-tandem-sysv* )
machine=tandem-s2 opsys=usg5-3
;;
## Tektronix XD88
m88k-tektronix-sysv3 )
machine=tekXD88 opsys=usg5-3
;;
## Tektronix 16000 box (6130?)
ns16k-tektronix-bsd* )
machine=ns16000 opsys=bsd4-2
;;
## Tektronix 4300
## src/m/tek4300.h hints that this is a m68k machine.
m68*-tektronix-bsd* )
machine=tex4300 opsys=bsd4-3
;;
## Titan P2 or P3
## We seem to have lost the machine-description file titan.h!
titan-titan-sysv* )
machine=titan opsys=usg5-3
;;
## Ustation E30 (SS5E)
m68*-unisys-uniplus* )
machine=ustation opsystem=unipl5-2
;;
## Vaxen.
vax-dec-* )
machine=vax
case "${configuration}" in
*-bsd4.1 ) opsys=bsd4-1 ;;
*-bsd4.2 | *-ultrix[0-3].* | *-ultrix4.0 ) opsys=bsd4-2 ;;
*-bsd4.3 | *-ultrix* ) opsys=bsd4-3 ;;
*-bsd386 ) opsys=bsd386 ;;
*-sysv[01]* | *-sysvr[01]* ) opsys=usg5-0 ;;
*-sysv2* | *-sysvr2* ) opsys=usg5-2 ;;
*-vms* ) opsys=vms ;;
* ) unported=true
esac
;;
## Whitechapel MG1
ns16k-whitechapel-* )
machine=mg1
## We don't know what sort of OS runs on these; we'll let the
## operating system guessing code below try.
;;
## Wicat
m68*-wicat-sysv* )
machine=wicat opsys=usg5-2
;;
## Intel 386 machines where we don't care about the manufacturer
i[34]86-*-* )
machine=intel386
case "${configuration}" in
*-isc1.* | *-isc2.[01]* ) opsys=386-ix ;;
*-isc2.2 ) opsys=isc2-2 ;;
*-isc* ) opsys=isc3-0 ;;
*-esix5* ) opsys=esix5r4 ;;
*-esix* ) opsys=esix ;;
*-xenix* ) opsys=xenix ;;
*-linux* ) opsys=linux ;;
*-sco3.2v4* ) opsys=sco4 ;;
*-bsd386* ) opsys=bsd386 ;;
*-386bsd ) opsys=386bsd ;;
## Otherwise, we'll fall through to the generic opsys code at the bottom.
esac
;;
* )
unported=true
;;
esac
### If the code above didn't choose an operating system, just choose
### an operating system based on the configuration name. You really
### only want to use this when you have no idea what the right
### operating system is; if you know what operating systems a machine
### runs, it's cleaner to make it explicit in the case statement
### above.
if [ x"${opsys}" = x ]; then
case "${configuration}" in
*-bsd4.[01] ) opsys=bsd4-1 ;;
*-bsd4.2 ) opsys=bsd4-2 ;;
*-bsd4.3 ) opsys=bsd4-3 ;;
*-sysv0 | *-sysvr0 ) opsys=usg5-0 ;;
*-sysv2 | *-sysvr2 ) opsys=usg5-2 ;;
*-sysv2.2 | *-sysvr2.2 ) opsys=usg5-2-2 ;;
*-sysv3 | *-sysvr3 ) opsys=usg5-3 ;;
*-sysv4 | *-sysvr4 ) opsys=usg5-4 ;;
*-sysv4.2 | *-sysvr4.2 ) opsys=usg5-4-2 ;;
* )
unported=true
;;
esac
fi
if $unported ; then
(echo "${progname}: Emacs hasn't been ported to \`${configuration}' systems."
echo "${progname}: Check \`etc/MACHINES' for recognized configuration names."
) >&2
exit 1
fi
machfile="m/${machine}.h"
opsysfile="s/${opsys}.h"
trap 'rm -f conftest* core; exit 1' 1 3 15
# NLS nuisances.
# These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO).
if test "${LC_ALL+set}" = 'set' ; then LC_ALL=C; export LC_ALL; fi
if test "${LANG+set}" = 'set' ; then LANG=C; export LANG; fi
rm -f conftest*
compile='${CC-cc} $CFLAGS $DEFS conftest.c -o conftest $LIBS >/dev/null 2>&1'
# A filename unique to this package, relative to the directory that
# configure is in, which we can look for to find out if srcdir is correct.
unique_file=lisp
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
srcdirdefaulted=yes
# Try the directory containing this script, then `..'.
prog=$0
confdir=`echo $prog|sed 's%/[^/][^/]*$%%'`
test "X$confdir" = "X$prog" && confdir=.
srcdir=$confdir
if test ! -r $srcdir/$unique_file; then
srcdir=..
fi
fi
if test ! -r $srcdir/$unique_file; then
if test x$srcdirdefaulted = xyes; then
echo "configure: Can not find sources in \`${confdir}' or \`..'." 1>&2
else
echo "configure: Can not find sources in \`${srcdir}'." 1>&2
fi
exit 1
fi
# Preserve a srcdir of `.' to avoid automounter screwups with pwd.
# But we can't avoid them for `..', to make subdirectories work.
case $srcdir in
.|/*|~*) ;;
*) srcdir=`cd $srcdir; pwd` ;; # Make relative path absolute.
esac
# Save the original args to write them into config.status later.
configure_args="$*"
#### Choose a compiler.
case ${with_gcc} in
"yes" ) CC="gcc" GCC=1 ;;
"no" ) CC="cc" ;;
* )
if test -z "$CC"; then
# Extract the first word of `gcc', so it can be a program name with args.
set dummy gcc; word=$2
echo checking for $word
IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
for dir in $PATH; do
test -z "$dir" && dir=.
if test -f $dir/$word; then
CC="gcc"
break
fi
done
IFS="$saveifs"
fi
test -z "$CC" && CC="cc"
test -n "$CC" -a -n "$verbose" && echo " setting CC to $CC"
# Find out if we are using GNU C, under whatever name.
cat > conftest.c <<EOF
#ifdef __GNUC__
yes
#endif
EOF
${CC-cc} -E conftest.c > conftest.out 2>&1
if egrep yes conftest.out >/dev/null 2>&1; then
GCC=1 # For later tests.
fi
rm -f conftest*
esac
#### Some other nice autoconf tests. If you add a test here which
#### should make an entry in src/config.h, don't forget to add an
#### #undef clause to src/config.h.in for autoconf to modify.
echo checking for ln -s
rm -f conftestdata
if ln -s X conftestdata 2>/dev/null
then
rm -f conftestdata
LN_S="ln -s"
else
LN_S=ln
fi
echo checking how to run the C preprocessor
if test -z "$CPP"; then
# This must be in double quotes, not single quotes, because CPP may get
# substituted into the Makefile and ``${CC-cc}'' will simply confuse
# make. It must be expanded now.
CPP="${CC-cc} -E"
cat > conftest.c <<EOF
#include <stdio.h>
Syntax Error
EOF
err=`eval "($CPP \$DEFS conftest.c >/dev/null) 2>&1"`
if test -z "$err"; then
:
else
CPP=/lib/cpp
fi
rm -f conftest*
fi
test ".${verbose}" != "." && echo " setting CPP to $CPP"
# Make sure to not get the incompatible SysV /etc/install and
# /usr/sbin/install, which might be in PATH before a BSD-like install,
# or the SunOS /usr/etc/install directory, or the AIX /bin/install,
# or the AFS install, which mishandles nonexistent args, or
# /usr/ucb/install on SVR4, which tries to use the nonexistent group
# `staff'. On most BSDish systems install is in /usr/bin, not /usr/ucb
# anyway. Sigh.
if test "z${INSTALL}" = "z" ; then
echo checking for install
IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
for dir in $PATH; do
test -z "$dir" && dir=.
case $dir in
/etc|/usr/sbin|/usr/etc|/usr/afsws/bin|/usr/ucb) ;;
*)
if test -f $dir/installbsd; then
INSTALL="$dir/installbsd -c" # OSF1
INSTALL_PROGRAM='$(INSTALL)'
INSTALL_DATA='$(INSTALL) -m 644'
break
fi
if test -f $dir/install; then
if grep dspmsg $dir/install >/dev/null 2>&1; then
: # AIX
else
INSTALL="$dir/install -c"
INSTALL_PROGRAM='$(INSTALL)'
INSTALL_DATA='$(INSTALL) -m 644'
break
fi
fi
;;
esac
done
IFS="$saveifs"
fi
INSTALL=${INSTALL-cp}
INSTALL_PROGRAM=${INSTALL_PROGRAM-'$(INSTALL)'}
INSTALL_DATA=${INSTALL_DATA-'$(INSTALL)'}
for p in 'bison -y' byacc
do
if test -z "$YACC"; then
# Extract the first word of `$p', so it can be a program name with args.
set dummy $p; word=$2
echo checking for $word
IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
for dir in $PATH; do
test -z "$dir" && dir=.
if test -f $dir/$word; then
YACC="$p"
break
fi
done
IFS="$saveifs"
fi
test -n "$YACC" -a -n "$verbose" && echo " setting YACC to $YACC"
test -n "$YACC" && break
done
test -n "$YACC" || YACC="yacc"
for hdr in sys/timeb.h sys/time.h
do
trhdr=HAVE_`echo $hdr | tr '[a-z]./' '[A-Z]__'`
echo checking for ${hdr}
cat > conftest.c <<EOF
#include <${hdr}>
EOF
err=`eval "($CPP \$DEFS conftest.c >/dev/null) 2>&1"`
if test -z "$err"; then
{
test -n "$verbose" && \
echo ' defining' ${trhdr}
DEFS="$DEFS -D${trhdr}=1"
SEDDEFS="${SEDDEFS}\${SEDdA}${trhdr}\${SEDdB}${trhdr}\${SEDdC}1\${SEDdD}
\${SEDuA}${trhdr}\${SEDuB}${trhdr}\${SEDuC}1\${SEDuD}
\${SEDeA}${trhdr}\${SEDeB}${trhdr}\${SEDeC}1\${SEDeD}
"
}
fi
rm -f conftest*
done
echo checking for ANSI C header files
cat > conftest.c <<EOF
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <float.h>
EOF
err=`eval "($CPP \$DEFS conftest.c >/dev/null) 2>&1"`
if test -z "$err"; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
echo '#include <string.h>' > conftest.c
eval "$CPP \$DEFS conftest.c > conftest.out 2>&1"
if egrep "memchr" conftest.out >/dev/null 2>&1; then
# SGI's /bin/cc from Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
cat > conftest.c <<EOF
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
#define XOR(e,f) (((e) && !(f)) || (!(e) && (f)))
int main () { int i; for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
eval $compile
if test -s conftest && (./conftest; exit) 2>/dev/null; then
{
test -n "$verbose" && \
echo ' defining' STDC_HEADERS
DEFS="$DEFS -DSTDC_HEADERS=1"
SEDDEFS="${SEDDEFS}\${SEDdA}STDC_HEADERS\${SEDdB}STDC_HEADERS\${SEDdC}1\${SEDdD}
\${SEDuA}STDC_HEADERS\${SEDuB}STDC_HEADERS\${SEDuC}1\${SEDuD}
\${SEDeA}STDC_HEADERS\${SEDeB}STDC_HEADERS\${SEDeC}1\${SEDeD}
"
}
fi
rm -f conftest*
fi
rm -f conftest*
fi
rm -f conftest*
echo checking for whether time.h and sys/time.h may both be included
cat > conftest.c <<EOF
#include <sys/types.h>
#include <sys/time.h>
#include <time.h>
int main() { exit(0); }
int t() { struct tm *tp; }
EOF
if eval $compile; then
{
test -n "$verbose" && \
echo ' defining' TIME_WITH_SYS_TIME
DEFS="$DEFS -DTIME_WITH_SYS_TIME=1"
SEDDEFS="${SEDDEFS}\${SEDdA}TIME_WITH_SYS_TIME\${SEDdB}TIME_WITH_SYS_TIME\${SEDdC}1\${SEDdD}
\${SEDuA}TIME_WITH_SYS_TIME\${SEDuB}TIME_WITH_SYS_TIME\${SEDuC}1\${SEDuD}
\${SEDeA}TIME_WITH_SYS_TIME\${SEDeB}TIME_WITH_SYS_TIME\${SEDeC}1\${SEDeD}
"
}
fi
rm -f conftest*
LIBS_save="${LIBS}"
LIBS="${LIBS} -ldnet"
have_lib=""
echo checking for -ldnet
cat > conftest.c <<EOF
int main() { exit(0); }
int t() { main(); }
EOF
if eval $compile; then
have_lib="1"
fi
rm -f conftest*
LIBS="${LIBS_save}"
if test -n "${have_lib}"; then
{
test -n "$verbose" && \
echo ' defining' HAVE_LIBDNET
DEFS="$DEFS -DHAVE_LIBDNET=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_LIBDNET\${SEDdB}HAVE_LIBDNET\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_LIBDNET\${SEDuB}HAVE_LIBDNET\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_LIBDNET\${SEDeB}HAVE_LIBDNET\${SEDeC}1\${SEDeD}
"
}
LIBS="${LIBS} -ldnet"
fi
echo checking for return type of signal handlers
cat > conftest.c <<EOF
#include <sys/types.h>
#include <signal.h>
#ifdef signal
#undef signal
#endif
extern void (*signal ()) ();
int main() { exit(0); }
int t() { int i; }
EOF
if eval $compile; then
{
test -n "$verbose" && \
echo ' defining' RETSIGTYPE to be 'void'
DEFS="$DEFS -DRETSIGTYPE=void"
SEDDEFS="${SEDDEFS}\${SEDdA}RETSIGTYPE\${SEDdB}RETSIGTYPE\${SEDdC}void\${SEDdD}
\${SEDuA}RETSIGTYPE\${SEDuB}RETSIGTYPE\${SEDuC}void\${SEDuD}
\${SEDeA}RETSIGTYPE\${SEDeB}RETSIGTYPE\${SEDeC}void\${SEDeD}
"
}
else
{
test -n "$verbose" && \
echo ' defining' RETSIGTYPE to be 'int'
DEFS="$DEFS -DRETSIGTYPE=int"
SEDDEFS="${SEDDEFS}\${SEDdA}RETSIGTYPE\${SEDdB}RETSIGTYPE\${SEDdC}int\${SEDdD}
\${SEDuA}RETSIGTYPE\${SEDuB}RETSIGTYPE\${SEDuC}int\${SEDuD}
\${SEDeA}RETSIGTYPE\${SEDeB}RETSIGTYPE\${SEDeC}int\${SEDeD}
"
}
fi
rm -f conftest*
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo checking for working alloca.h
cat > conftest.c <<EOF
#include <alloca.h>
int main() { exit(0); }
int t() { char *p = alloca(2 * sizeof(int)); }
EOF
if eval $compile; then
{
test -n "$verbose" && \
echo ' defining' HAVE_ALLOCA_H
DEFS="$DEFS -DHAVE_ALLOCA_H=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_ALLOCA_H\${SEDdB}HAVE_ALLOCA_H\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_ALLOCA_H\${SEDuB}HAVE_ALLOCA_H\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_ALLOCA_H\${SEDeB}HAVE_ALLOCA_H\${SEDeC}1\${SEDeD}
"
}
fi
rm -f conftest*
decl="#ifdef __GNUC__
#define alloca __builtin_alloca
#else
#if HAVE_ALLOCA_H
#include <alloca.h>
#else
#ifdef _AIX
#pragma alloca
#else
char *alloca ();
#endif
#endif
#endif
"
echo checking for alloca
cat > conftest.c <<EOF
$decl
int main() { exit(0); }
int t() { char *p = (char *) alloca(1); }
EOF
if eval $compile; then
:
else
alloca_missing=1
cat > conftest.c <<EOF
#if defined(CRAY) && ! defined(CRAY2)
winnitude
#else
lossage
#endif
EOF
eval "$CPP \$DEFS conftest.c > conftest.out 2>&1"
if egrep "winnitude" conftest.out >/dev/null 2>&1; then
echo checking for _getb67
cat > conftest.c <<EOF
#include <ctype.h>
int main() { exit(0); }
int t() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub__getb67) || defined (__stub____getb67)
choke me
#else
/* Override any gcc2 internal prototype to avoid an error. */
extern char _getb67(); _getb67();
#endif
}
EOF
if eval $compile; then
{
test -n "$verbose" && \
echo ' defining' CRAY_STACKSEG_END to be '_getb67'
DEFS="$DEFS -DCRAY_STACKSEG_END=_getb67"
SEDDEFS="${SEDDEFS}\${SEDdA}CRAY_STACKSEG_END\${SEDdB}CRAY_STACKSEG_END\${SEDdC}_getb67\${SEDdD}
\${SEDuA}CRAY_STACKSEG_END\${SEDuB}CRAY_STACKSEG_END\${SEDuC}_getb67\${SEDuD}
\${SEDeA}CRAY_STACKSEG_END\${SEDeB}CRAY_STACKSEG_END\${SEDeC}_getb67\${SEDeD}
"
}
else
echo checking for GETB67
cat > conftest.c <<EOF
#include <ctype.h>
int main() { exit(0); }
int t() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_GETB67) || defined (__stub___GETB67)
choke me
#else
/* Override any gcc2 internal prototype to avoid an error. */
extern char GETB67(); GETB67();
#endif
}
EOF
if eval $compile; then
{
test -n "$verbose" && \
echo ' defining' CRAY_STACKSEG_END to be 'GETB67'
DEFS="$DEFS -DCRAY_STACKSEG_END=GETB67"
SEDDEFS="${SEDDEFS}\${SEDdA}CRAY_STACKSEG_END\${SEDdB}CRAY_STACKSEG_END\${SEDdC}GETB67\${SEDdD}
\${SEDuA}CRAY_STACKSEG_END\${SEDuB}CRAY_STACKSEG_END\${SEDuC}GETB67\${SEDuD}
\${SEDeA}CRAY_STACKSEG_END\${SEDeB}CRAY_STACKSEG_END\${SEDeC}GETB67\${SEDeD}
"
}
else
echo checking for getb67
cat > conftest.c <<EOF
#include <ctype.h>
int main() { exit(0); }
int t() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_getb67) || defined (__stub___getb67)
choke me
#else
/* Override any gcc2 internal prototype to avoid an error. */
extern char getb67(); getb67();
#endif
}
EOF
if eval $compile; then
{
test -n "$verbose" && \
echo ' defining' CRAY_STACKSEG_END to be 'getb67'
DEFS="$DEFS -DCRAY_STACKSEG_END=getb67"
SEDDEFS="${SEDDEFS}\${SEDdA}CRAY_STACKSEG_END\${SEDdB}CRAY_STACKSEG_END\${SEDdC}getb67\${SEDdD}
\${SEDuA}CRAY_STACKSEG_END\${SEDuB}CRAY_STACKSEG_END\${SEDuC}getb67\${SEDuD}
\${SEDeA}CRAY_STACKSEG_END\${SEDeB}CRAY_STACKSEG_END\${SEDeC}getb67\${SEDeD}
"
}
fi
rm -f conftest*
fi
rm -f conftest*
fi
rm -f conftest*
fi
rm -f conftest*
fi
rm -f conftest*
if test -n "$alloca_missing"; then
# The SVR3 libPW and SVR4 libucb both contain incompatible functions
# that cause trouble. Some versions do not even contain alloca or
# contain a buggy version. If you still want to use their alloca,
# use ar to extract alloca.o from them instead of compiling alloca.c.
ALLOCA=alloca.o
echo 'checking stack direction for C alloca'
echo checking whether cross-compiling
# If we cannot run a trivial program, we must be cross compiling.
cat > conftest.c <<EOF
main(){exit(0);}
EOF
eval $compile
if test -s conftest && (./conftest; exit) 2>/dev/null; then
:
else
cross_compiling=1
fi
rm -f conftest*
if test -n "$cross_compiling"
then
{
test -n "$verbose" && \
echo ' defining' STACK_DIRECTION to be '0'
DEFS="$DEFS -DSTACK_DIRECTION=0"
SEDDEFS="${SEDDEFS}\${SEDdA}STACK_DIRECTION\${SEDdB}STACK_DIRECTION\${SEDdC}0\${SEDdD}
\${SEDuA}STACK_DIRECTION\${SEDuB}STACK_DIRECTION\${SEDuC}0\${SEDuD}
\${SEDeA}STACK_DIRECTION\${SEDeB}STACK_DIRECTION\${SEDeC}0\${SEDeD}
"
}
else
cat > conftest.c <<EOF
find_stack_direction ()
{
static char *addr = 0;
auto char dummy;
if (addr == 0)
{
addr = &dummy;
return find_stack_direction ();
}
else
return (&dummy > addr) ? 1 : -1;
}
main ()
{
exit (find_stack_direction() < 0);
}
EOF
eval $compile
if test -s conftest && (./conftest; exit) 2>/dev/null; then
{
test -n "$verbose" && \
echo ' defining' STACK_DIRECTION to be '1'
DEFS="$DEFS -DSTACK_DIRECTION=1"
SEDDEFS="${SEDDEFS}\${SEDdA}STACK_DIRECTION\${SEDdB}STACK_DIRECTION\${SEDdC}1\${SEDdD}
\${SEDuA}STACK_DIRECTION\${SEDuB}STACK_DIRECTION\${SEDuC}1\${SEDuD}
\${SEDeA}STACK_DIRECTION\${SEDeB}STACK_DIRECTION\${SEDeC}1\${SEDeD}
"
}
else
{
test -n "$verbose" && \
echo ' defining' STACK_DIRECTION to be '-1'
DEFS="$DEFS -DSTACK_DIRECTION=-1"
SEDDEFS="${SEDDEFS}\${SEDdA}STACK_DIRECTION\${SEDdB}STACK_DIRECTION\${SEDdC}-1\${SEDdD}
\${SEDuA}STACK_DIRECTION\${SEDuB}STACK_DIRECTION\${SEDuC}-1\${SEDuD}
\${SEDeA}STACK_DIRECTION\${SEDeB}STACK_DIRECTION\${SEDeC}-1\${SEDeD}
"
}
fi
fi
rm -f conftest*
fi
for func in gettimeofday gethostname dup2 rename closedir
do
trfunc=HAVE_`echo $func | tr '[a-z]' '[A-Z]'`
echo checking for ${func}
cat > conftest.c <<EOF
#include <ctype.h>
int main() { exit(0); }
int t() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_${func}) || defined (__stub___${func})
choke me
#else
/* Override any gcc2 internal prototype to avoid an error. */
extern char ${func}(); ${func}();
#endif
}
EOF
if eval $compile; then
{
test -n "$verbose" && \
echo ' defining' ${trfunc}
DEFS="$DEFS -D${trfunc}=1"
SEDDEFS="${SEDDEFS}\${SEDdA}${trfunc}\${SEDdB}${trfunc}\${SEDdC}1\${SEDdD}
\${SEDuA}${trfunc}\${SEDuB}${trfunc}\${SEDuC}1\${SEDuD}
\${SEDeA}${trfunc}\${SEDeB}${trfunc}\${SEDeC}1\${SEDeD}
"
}
fi
rm -f conftest*
done
echo checking for struct tm in time.h
cat > conftest.c <<EOF
#include <sys/types.h>
#include <time.h>
int main() { exit(0); }
int t() { struct tm *tp; }
EOF
if eval $compile; then
:
else
{
test -n "$verbose" && \
echo ' defining' TM_IN_SYS_TIME
DEFS="$DEFS -DTM_IN_SYS_TIME=1"
SEDDEFS="${SEDDEFS}\${SEDdA}TM_IN_SYS_TIME\${SEDdB}TM_IN_SYS_TIME\${SEDdC}1\${SEDdD}
\${SEDuA}TM_IN_SYS_TIME\${SEDuB}TM_IN_SYS_TIME\${SEDuC}1\${SEDuD}
\${SEDeA}TM_IN_SYS_TIME\${SEDeB}TM_IN_SYS_TIME\${SEDeC}1\${SEDeD}
"
}
fi
rm -f conftest*
decl='#include <sys/types.h>
'
case "$DEFS" in
*TM_IN_SYS_TIME*) decl="$decl
#include <sys/time.h>
" ;;
*) decl="$decl
#include <time.h>
" ;;
esac
echo checking for tm_zone in struct tm
cat > conftest.c <<EOF
$decl
int main() { exit(0); }
int t() { struct tm tm; tm.tm_zone; }
EOF
if eval $compile; then
{
test -n "$verbose" && \
echo ' defining' HAVE_TM_ZONE
DEFS="$DEFS -DHAVE_TM_ZONE=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_TM_ZONE\${SEDdB}HAVE_TM_ZONE\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_TM_ZONE\${SEDuB}HAVE_TM_ZONE\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_TM_ZONE\${SEDeB}HAVE_TM_ZONE\${SEDeC}1\${SEDeD}
"
}
else
no_tm_zone=1
fi
rm -f conftest*
if test -n "$no_tm_zone"; then
echo checking for tzname
cat > conftest.c <<EOF
#include <time.h>
#ifndef tzname /* For SGI. */
extern char *tzname[]; /* RS6000 and others want it this way. */
#endif
int main() { exit(0); }
int t() { atoi(*tzname); }
EOF
if eval $compile; then
{
test -n "$verbose" && \
echo ' defining' HAVE_TZNAME
DEFS="$DEFS -DHAVE_TZNAME=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_TZNAME\${SEDdB}HAVE_TZNAME\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_TZNAME\${SEDuB}HAVE_TZNAME\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_TZNAME\${SEDeB}HAVE_TZNAME\${SEDeC}1\${SEDeD}
"
}
fi
rm -f conftest*
fi
prog='/* Ultrix mips cc rejects this. */
typedef int charset[2]; const charset x;
/* SunOS 4.1.1 cc rejects this. */
char const *const *ccp;
char **p;
/* AIX XL C 1.02.0.0 rejects this.
It does not let you subtract one const X* pointer from another in an arm
of an if-expression whose if-part is not a constant expression */
const char *g = "string";
ccp = &g + (g ? g-g : 0);
/* HPUX 7.0 cc rejects these. */
++ccp;
p = (char**) ccp;
ccp = (char const *const *) p;
{ /* SCO 3.2v4 cc rejects this. */
char *t;
char const *s = 0 ? (char *) 0 : (char const *) 0;
*t++ = 0;
}
{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
int x[] = {25,17};
const int *foo = &x[0];
++foo;
}
{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
typedef const int *iptr;
iptr p = 0;
++p;
}
{ /* AIX XL C 1.02.0.0 rejects this saying
"k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
struct s { int j; const int *ap[3]; };
struct s *b; b->j = 5;
}'
echo checking for working const
cat > conftest.c <<EOF
int main() { exit(0); }
int t() { $prog }
EOF
if eval $compile; then
:
else
{
test -n "$verbose" && \
echo ' defining' const to be 'empty'
DEFS="$DEFS -Dconst="
SEDDEFS="${SEDDEFS}\${SEDdA}const\${SEDdB}const\${SEDdC}\${SEDdD}
\${SEDuA}const\${SEDuB}const\${SEDuC}\${SEDuD}
\${SEDeA}const\${SEDeB}const\${SEDeC}\${SEDeD}
"
}
fi
rm -f conftest*
echo checking for long file names
lost=false
# Test for long file names in all the places we know might matter:
# . the current directory, where building will happen
# /tmp where it might want to write temporary files
# /usr/tmp likewise
# $prefix where we will be installing things
# $exec_prefix likewise
for dir in . /tmp /usr/tmp $prefix $exec_prefix ; do
(echo 1 > $dir/conftest9012345) 2>/dev/null
(echo 2 > $dir/conftest9012346) 2>/dev/null
val=`cat $dir/conftest9012345 2>/dev/null`
test -f $dir/conftest9012345 && test "$val" = 1 || lost=true
rm -f $dir/conftest9012345 $dir/conftest9012346 2> /dev/null
done
$lost || {
test -n "$verbose" && \
echo ' defining' HAVE_LONG_FILE_NAMES
DEFS="$DEFS -DHAVE_LONG_FILE_NAMES=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_LONG_FILE_NAMES\${SEDdB}HAVE_LONG_FILE_NAMES\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_LONG_FILE_NAMES\${SEDuB}HAVE_LONG_FILE_NAMES\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_LONG_FILE_NAMES\${SEDeB}HAVE_LONG_FILE_NAMES\${SEDeC}1\${SEDeD}
"
}
#### Choose a window system.
echo "Checking window system."
window_system=''
case "${with_x}" in
yes )
window_system=${window_system}x11
;;
no )
window_system=${window_system}none
esac
case "${with_x11}" in
yes )
window_system=${window_system}x11
;;
esac
case "${with_x10}" in
yes )
window_system=${window_system}x10
;;
esac
case "${window_system}" in
"none" | "x11" | "x10" ) ;;
"" )
echo " No window system specified. Looking for X11."
window_system=none
if [ -r /usr/lib/libX11.a \
-o -d /usr/include/X11 \
-o -d /usr/X386/include \
-o -d ${x_includes}/X11 ]; then
window_system=x11
fi
;;
* )
echo "Don't specify the window system more than once." >&2
exit 1
;;
esac
case "${window_system}" in
x11 )
HAVE_X_WINDOWS=yes
HAVE_X11=yes
echo " Using X11."
;;
x10 )
HAVE_X_WINDOWS=yes
HAVE_X11=no
echo " Using X10."
;;
none )
HAVE_X_WINDOWS=no
HAVE_X11=no
echo " Using no window system."
;;
esac
### If we're using X11, we should use the X menu package.
HAVE_X_MENU=no
case ${HAVE_X11} in
yes )
HAVE_X_MENU=yes
;;
esac
#### Extract some information from the operating system and machine files.
echo "Examining the machine- and system-dependent files to find out"
echo " - which libraries the lib-src programs will want, and"
echo " - whether the GNU malloc routines are usable."
### It's not important that this name contain the PID; you can't run
### two configures in the same directory and have anything work
### anyway.
tempcname="conftest.c"
echo '
#include "'${srcdir}'/src/'${opsysfile}'"
#include "'${srcdir}'/src/'${machfile}'"
#ifndef LIBS_MACHINE
#define LIBS_MACHINE
#endif
#ifndef LIBS_SYSTEM
#define LIBS_SYSTEM
#endif
#ifndef C_SWITCH_SYSTEM
#define C_SWITCH_SYSTEM
#endif
@configure@ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
@configure@ c_switch_system=C_SWITCH_SYSTEM
#ifdef UNEXEC
@configure@ unexec=UNEXEC
#else
@configure@ unexec=unexec.o
#endif
#ifdef SYSTEM_MALLOC
@configure@ system_malloc=yes
#else
@configure@ system_malloc=no
#endif
#ifndef C_DEBUG_SWITCH
#define C_DEBUG_SWITCH -g
#endif
#ifndef C_OPTIMIZE_SWITCH
#define C_OPTIMIZE_SWITCH -O
#endif
#ifdef __GNUC__
@configure@ CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH
#else
@configure@ CFLAGS=C_DEBUG_SWITCH
#endif
' > ${tempcname}
# The value of CPP is a quoted variable reference, so we need to do this
# to get its actual value...
CPP=`eval "echo $CPP"`
eval `${CPP} -Isrc ${tempcname} \
| grep '@configure@' \
| sed -e 's/^@configure@ \([^=]*=\)\(.*\)$/\1"\2"/'`
rm ${tempcname}
### Compute the unexec source name from the object name.
UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`"
# Do the opsystem or machine files prohibit the use of the GNU malloc?
# Assume not, until told otherwise.
GNU_MALLOC=yes
if [ "${system_malloc}" = "yes" ]; then
GNU_MALLOC=no
GNU_MALLOC_reason="
(The GNU allocators don't work with this system configuration.)"
fi
if [ x"${REL_ALLOC}" = x ]; then
REL_ALLOC=${GNU_MALLOC}
fi
LISP_FLOAT_TYPE=yes
#### Add the X libraries to the list, and check for some functions found there.
CFLAGS_save="$CFLAGS"
CFLAGS="${CFLAGS} ${LD_SWITCH_X_SITE}"
LIBS_save="${LIBS}"
LIBS="${LIBS} -lXbsd"
have_lib=""
echo checking for -lXbsd
cat > conftest.c <<EOF
int main() { exit(0); }
int t() { main(); }
EOF
if eval $compile; then
have_lib="1"
fi
rm -f conftest*
LIBS="${LIBS_save}"
if test -n "${have_lib}"; then
{
test -n "$verbose" && \
echo ' defining' HAVE_LIBXBSD
DEFS="$DEFS -DHAVE_LIBXBSD=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_LIBXBSD\${SEDdB}HAVE_LIBXBSD\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_LIBXBSD\${SEDuB}HAVE_LIBXBSD\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_LIBXBSD\${SEDeB}HAVE_LIBXBSD\${SEDeC}1\${SEDeD}
"
}
LIBS="${LIBS} -lXbsd"
fi
LIBS_save="$LIBS"
if [ "${HAVE_X11}" = "yes" ] ; then
LIBS="-lX11 ${LIBS}"
fi
for func in XrmSetDatabase random
do
trfunc=HAVE_`echo $func | tr '[a-z]' '[A-Z]'`
echo checking for ${func}
cat > conftest.c <<EOF
#include <ctype.h>
int main() { exit(0); }
int t() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_${func}) || defined (__stub___${func})
choke me
#else
/* Override any gcc2 internal prototype to avoid an error. */
extern char ${func}(); ${func}();
#endif
}
EOF
if eval $compile; then
{
test -n "$verbose" && \
echo ' defining' ${trfunc}
DEFS="$DEFS -D${trfunc}=1"
SEDDEFS="${SEDDEFS}\${SEDdA}${trfunc}\${SEDdB}${trfunc}\${SEDdC}1\${SEDdD}
\${SEDuA}${trfunc}\${SEDuB}${trfunc}\${SEDuC}1\${SEDuD}
\${SEDeA}${trfunc}\${SEDeB}${trfunc}\${SEDeC}1\${SEDeD}
"
}
fi
rm -f conftest*
done
CFLAGS="$CFLAGS_save"
LIBS="$LIBS_save"
case "${window_system}:${LIBS}" in
x11:*-lXbsd* )
if [ -d /usr/X386/include ]; then
HAVE_XFREE386=yes
if [ "${C_SWITCH_X_SITE}" = "" ]; then
C_SWITCH_X_SITE="-I/usr/X386/include"
fi
fi
;;
esac
#### Find out which version of Emacs this is.
version=`grep 'defconst[ ]*emacs-version' ${srcdir}/lisp/version.el \
| sed -e 's/^.*"\([0-9][0-9]*\.[0-9][0-9]*\)\..*$/\1/'`
if [ x"${version}" = x ]; then
echo "${progname}: can't find current emacs version in
\`${srcdir}/lisp/version.el'." >&2
exit 1
fi
#### Specify what sort of things we'll be editing into Makefile and config.h.
{
test -n "$verbose" && \
echo ' defining' config_machfile to be '"\"${machfile}\""'
DEFS="$DEFS -Dconfig_machfile="\"${machfile}\"""
SEDDEFS="${SEDDEFS}\${SEDdA}config_machfile\${SEDdB}config_machfile\${SEDdC}"\"${machfile}\""\${SEDdD}
\${SEDuA}config_machfile\${SEDuB}config_machfile\${SEDuC}"\"${machfile}\""\${SEDuD}
\${SEDeA}config_machfile\${SEDeB}config_machfile\${SEDeC}"\"${machfile}\""\${SEDeD}
"
}
{
test -n "$verbose" && \
echo ' defining' config_opsysfile to be '"\"${opsysfile}\""'
DEFS="$DEFS -Dconfig_opsysfile="\"${opsysfile}\"""
SEDDEFS="${SEDDEFS}\${SEDdA}config_opsysfile\${SEDdB}config_opsysfile\${SEDdC}"\"${opsysfile}\""\${SEDdD}
\${SEDuA}config_opsysfile\${SEDuB}config_opsysfile\${SEDuC}"\"${opsysfile}\""\${SEDuD}
\${SEDeA}config_opsysfile\${SEDeB}config_opsysfile\${SEDeC}"\"${opsysfile}\""\${SEDeD}
"
}
{
test -n "$verbose" && \
echo ' defining' LD_SWITCH_X_SITE to be '${LD_SWITCH_X_SITE}'
DEFS="$DEFS -DLD_SWITCH_X_SITE=${LD_SWITCH_X_SITE}"
SEDDEFS="${SEDDEFS}\${SEDdA}LD_SWITCH_X_SITE\${SEDdB}LD_SWITCH_X_SITE\${SEDdC}${LD_SWITCH_X_SITE}\${SEDdD}
\${SEDuA}LD_SWITCH_X_SITE\${SEDuB}LD_SWITCH_X_SITE\${SEDuC}${LD_SWITCH_X_SITE}\${SEDuD}
\${SEDeA}LD_SWITCH_X_SITE\${SEDeB}LD_SWITCH_X_SITE\${SEDeC}${LD_SWITCH_X_SITE}\${SEDeD}
"
}
{
test -n "$verbose" && \
echo ' defining' C_SWITCH_X_SITE to be '${C_SWITCH_X_SITE}'
DEFS="$DEFS -DC_SWITCH_X_SITE=${C_SWITCH_X_SITE}"
SEDDEFS="${SEDDEFS}\${SEDdA}C_SWITCH_X_SITE\${SEDdB}C_SWITCH_X_SITE\${SEDdC}${C_SWITCH_X_SITE}\${SEDdD}
\${SEDuA}C_SWITCH_X_SITE\${SEDuB}C_SWITCH_X_SITE\${SEDuC}${C_SWITCH_X_SITE}\${SEDuD}
\${SEDeA}C_SWITCH_X_SITE\${SEDeB}C_SWITCH_X_SITE\${SEDeC}${C_SWITCH_X_SITE}\${SEDeD}
"
}
{
test -n "$verbose" && \
echo ' defining' UNEXEC_SRC to be '${UNEXEC_SRC}'
DEFS="$DEFS -DUNEXEC_SRC=${UNEXEC_SRC}"
SEDDEFS="${SEDDEFS}\${SEDdA}UNEXEC_SRC\${SEDdB}UNEXEC_SRC\${SEDdC}${UNEXEC_SRC}\${SEDdD}
\${SEDuA}UNEXEC_SRC\${SEDuB}UNEXEC_SRC\${SEDuC}${UNEXEC_SRC}\${SEDuD}
\${SEDeA}UNEXEC_SRC\${SEDeB}UNEXEC_SRC\${SEDeC}${UNEXEC_SRC}\${SEDeD}
"
}
if [ "${HAVE_X_WINDOWS}" = "yes" ] ; then
{
test -n "$verbose" && \
echo ' defining' HAVE_X_WINDOWS
DEFS="$DEFS -DHAVE_X_WINDOWS=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_X_WINDOWS\${SEDdB}HAVE_X_WINDOWS\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_X_WINDOWS\${SEDuB}HAVE_X_WINDOWS\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_X_WINDOWS\${SEDeB}HAVE_X_WINDOWS\${SEDeC}1\${SEDeD}
"
}
fi
if [ "${HAVE_X11}" = "yes" ] ; then
{
test -n "$verbose" && \
echo ' defining' HAVE_X11
DEFS="$DEFS -DHAVE_X11=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_X11\${SEDdB}HAVE_X11\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_X11\${SEDuB}HAVE_X11\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_X11\${SEDeB}HAVE_X11\${SEDeC}1\${SEDeD}
"
}
fi
if [ "${HAVE_XFREE386}" = "yes" ] ; then
{
test -n "$verbose" && \
echo ' defining' HAVE_XFREE386
DEFS="$DEFS -DHAVE_XFREE386=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_XFREE386\${SEDdB}HAVE_XFREE386\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_XFREE386\${SEDuB}HAVE_XFREE386\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_XFREE386\${SEDeB}HAVE_XFREE386\${SEDeC}1\${SEDeD}
"
}
fi
if [ "${HAVE_X_MENU}" = "yes" ] ; then
{
test -n "$verbose" && \
echo ' defining' HAVE_X_MENU
DEFS="$DEFS -DHAVE_X_MENU=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_X_MENU\${SEDdB}HAVE_X_MENU\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_X_MENU\${SEDuB}HAVE_X_MENU\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_X_MENU\${SEDeB}HAVE_X_MENU\${SEDeC}1\${SEDeD}
"
}
fi
if [ "${GNU_MALLOC}" = "yes" ] ; then
{
test -n "$verbose" && \
echo ' defining' GNU_MALLOC
DEFS="$DEFS -DGNU_MALLOC=1"
SEDDEFS="${SEDDEFS}\${SEDdA}GNU_MALLOC\${SEDdB}GNU_MALLOC\${SEDdC}1\${SEDdD}
\${SEDuA}GNU_MALLOC\${SEDuB}GNU_MALLOC\${SEDuC}1\${SEDuD}
\${SEDeA}GNU_MALLOC\${SEDeB}GNU_MALLOC\${SEDeC}1\${SEDeD}
"
}
fi
if [ "${REL_ALLOC}" = "yes" ] ; then
{
test -n "$verbose" && \
echo ' defining' REL_ALLOC
DEFS="$DEFS -DREL_ALLOC=1"
SEDDEFS="${SEDDEFS}\${SEDdA}REL_ALLOC\${SEDdB}REL_ALLOC\${SEDdC}1\${SEDdD}
\${SEDuA}REL_ALLOC\${SEDuB}REL_ALLOC\${SEDuC}1\${SEDuD}
\${SEDeA}REL_ALLOC\${SEDeB}REL_ALLOC\${SEDeC}1\${SEDeD}
"
}
fi
if [ "${LISP_FLOAT_TYPE}" = "yes" ] ; then
{
test -n "$verbose" && \
echo ' defining' LISP_FLOAT_TYPE
DEFS="$DEFS -DLISP_FLOAT_TYPE=1"
SEDDEFS="${SEDDEFS}\${SEDdA}LISP_FLOAT_TYPE\${SEDdB}LISP_FLOAT_TYPE\${SEDdC}1\${SEDdD}
\${SEDuA}LISP_FLOAT_TYPE\${SEDuB}LISP_FLOAT_TYPE\${SEDuC}1\${SEDuD}
\${SEDeA}LISP_FLOAT_TYPE\${SEDeB}LISP_FLOAT_TYPE\${SEDeC}1\${SEDeD}
"
}
fi
#### Report on what we decided to do.
echo "
Configured for \`${configuration}'.
Where should the build process find the source code? ${srcdir}
What operating system and machine description files should Emacs use?
\`${opsysfile}' and \`${machfile}'
What compiler should emacs be built with? ${CC} ${CFLAGS}
Should Emacs use the GNU version of malloc? ${GNU_MALLOC}${GNU_MALLOC_reason}
Should Emacs use the relocating allocator for buffers? ${REL_ALLOC}
What window system should Emacs use? ${window_system}${x_includes+
Where do we find X Windows header files? }${x_includes}${x_libraries+
Where do we find X Windows libraries? }${x_libraries}
"
if test -n "$prefix"; then
test -z "$exec_prefix" && exec_prefix='${prefix}'
prsub="s%^prefix\\([ ]*\\)=\\([ ]*\\).*$%prefix\\1=\\2$prefix%"
fi
if test -n "$exec_prefix"; then
prsub="$prsub
s%^exec_prefix\\([ ]*\\)=\\([ ]*\\).*$%exec_prefix\\1=\\2$exec_prefix%"
fi
cat >conftest.def <<EOF
$DEFS
EOF
escape_ampersand_and_backslash='s%[&\\]%\\&%g'
DEFS=`sed "$escape_ampersand_and_backslash" <conftest.def`
rm -f conftest.def
trap 'rm -f config.status; exit 1' 1 3 15
echo creating config.status
rm -f config.status
cat > config.status <<EOF
#!/bin/sh
# Generated automatically by configure.
# Run this file to recreate the current configuration.
# This directory was configured as follows,
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
#
# $0 $configure_args
for arg
do
case "\$arg" in
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
exec /bin/sh $0 $configure_args ;;
*) echo "Usage: config.status --recheck" 2>&1; exit 1 ;;
esac
done
trap 'rm -f Makefile src/config.h conftest*; exit 1' 1 3 15
CC='$CC'
LN_S='$LN_S'
CPP='$CPP'
INSTALL='$INSTALL'
INSTALL_PROGRAM='$INSTALL_PROGRAM'
INSTALL_DATA='$INSTALL_DATA'
YACC='$YACC'
ALLOCA='$ALLOCA'
configuration='$configuration'
version='$version'
srcdir='$srcdir'
c_switch_system='$c_switch_system'
libsrc_libs='$libsrc_libs'
rip_paths='$rip_paths'
inst_paths='$inst_paths'
LD_SWITCH_X_SITE='$LD_SWITCH_X_SITE'
C_SWITCH_X_SITE='$C_SWITCH_X_SITE'
CFLAGS='$CFLAGS'
prefix='$prefix'
exec_prefix='$exec_prefix'
LIBS='$LIBS'
prefix='$prefix'
exec_prefix='$exec_prefix'
prsub='$prsub'
EOF
cat >> config.status <<\EOF
top_srcdir=$srcdir
# Allow make-time overrides of the generated file list.
test -n "$gen_files" || gen_files="Makefile"
for file in .. $gen_files; do if [ "x$file" != "x.." ]; then
srcdir=$top_srcdir
# Remove last slash and all that follows it. Not all systems have dirname.
dir=`echo $file|sed 's%/[^/][^/]*$%%'`
if test "$dir" != "$file"; then
test "$top_srcdir" != . && srcdir=$top_srcdir/$dir
test ! -d $dir && mkdir $dir
fi
echo creating $file
rm -f $file
echo "# Generated automatically from `echo $file|sed 's|.*/||'`.in by configure." > $file
sed -e "
$prsub
s%@CC@%$CC%g
s%@LN_S@%$LN_S%g
s%@CPP@%$CPP%g
s%@INSTALL@%$INSTALL%g
s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
s%@INSTALL_DATA@%$INSTALL_DATA%g
s%@YACC@%$YACC%g
s%@ALLOCA@%$ALLOCA%g
s%@configuration@%$configuration%g
s%@version@%$version%g
s%@srcdir@%$srcdir%g
s%@c_switch_system@%$c_switch_system%g
s%@libsrc_libs@%$libsrc_libs%g
s%@rip_paths@%$rip_paths%g
s%@inst_paths@%$inst_paths%g
s%@LD_SWITCH_X_SITE@%$LD_SWITCH_X_SITE%g
s%@C_SWITCH_X_SITE@%$C_SWITCH_X_SITE%g
s%@CFLAGS@%$CFLAGS%g
s%@prefix@%$prefix%g
s%@exec_prefix@%$exec_prefix%g
s%@LIBS@%$LIBS%g
s%@DEFS@%-DHAVE_CONFIG_H%" $top_srcdir/${file}.in >> $file
fi; done
test -n "$gen_config" || gen_config=src/config.h
echo creating $gen_config
# These sed commands are put into SEDDEFS when defining a macro.
# They are broken into pieces to make the sed script easier to manage.
# They are passed to sed as "A NAME B NAME C VALUE D", where NAME
# is the cpp macro being defined and VALUE is the value it is being given.
# Each defining turns into a single global substitution command.
#
# SEDd sets the value in "#define NAME VALUE" lines.
SEDdA='s@^\([ ]*\)#\([ ]*define[ ][ ]*\)'
SEDdB='\([ ][ ]*\)[^ ]*@\1#\2'
SEDdC='\3'
SEDdD='@g'
# SEDu turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
SEDuA='s@^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
SEDuB='\([ ]\)@\1#\2define\3'
SEDuC=' '
SEDuD='\4@g'
# SEDe turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
SEDeA='s@^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
SEDeB='$@\1#\2define\3'
SEDeC=' '
SEDeD='@g'
rm -f conftest.sed
EOF
# Turn off quoting long enough to insert the sed commands.
rm -f conftest.sh
cat > conftest.sh <<EOF
$SEDDEFS
EOF
# Maximum number of lines to put in a single here document.
maxshlines=9
# Break up $SEDDEFS (now in conftest.sh) because some shells have a limit
# on the size of here documents.
while :
do
lines=`grep -c . conftest.sh`
if test -z "$lines" || test "$lines" -eq 0; then break; fi
rm -f conftest.s1 conftest.s2
sed ${maxshlines}q conftest.sh > conftest.s1 # Like head -20.
sed 1,${maxshlines}d conftest.sh > conftest.s2 # Like tail +21.
# Write a limited-size here document to append to conftest.sed.
echo 'cat >> conftest.sed <<CONFEOF' >> config.status
cat conftest.s1 >> config.status
echo 'CONFEOF' >> config.status
rm -f conftest.s1 conftest.sh
mv conftest.s2 conftest.sh
done
rm -f conftest.sh
# Now back to your regularly scheduled config.status.
cat >> config.status <<\EOF
# This sed command replaces #undef's with comments. This is necessary, for
# example, in the case of _POSIX_SOURCE, which is predefined and required
# on some systems where configure will not decide to define it in
# src/config.h.
cat >> conftest.sed <<\CONFEOF
s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
CONFEOF
rm -f conftest.h
# Break up the sed commands because old seds have small limits.
maxsedlines=20
cp $top_srcdir/$gen_config.in conftest.h1
while :
do
lines=`grep -c . conftest.sed`
if test -z "$lines" || test "$lines" -eq 0; then break; fi
rm -f conftest.s1 conftest.s2 conftest.h2
sed ${maxsedlines}q conftest.sed > conftest.s1 # Like head -20.
sed 1,${maxsedlines}d conftest.sed > conftest.s2 # Like tail +21.
sed -f conftest.s1 < conftest.h1 > conftest.h2
rm -f conftest.s1 conftest.h1 conftest.sed
mv conftest.h2 conftest.h1
mv conftest.s2 conftest.sed
done
rm -f conftest.sed conftest.h
echo "/* $gen_config. Generated automatically by configure. */" > conftest.h
cat conftest.h1 >> conftest.h
rm -f conftest.h1
if cmp -s $gen_config conftest.h 2>/dev/null; then
# The file exists and we would not be changing it.
rm -f conftest.h
else
rm -f $gen_config
mv conftest.h $gen_config
fi
exit 0
EOF
chmod +x config.status
test -n "$no_create" || ./config.status